package com.tarena.lbs.basic.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.basic.pojo.param.TagUpdateParam;
import com.tarena.lbs.basic.pojo.po.TagLibraryPO;
import com.tarena.lbs.basic.pojo.query.TagQuery;
import com.tarena.lbs.basic.pojo.vo.TagLibraryVO;
import com.tarena.lbs.basic.pojo.vo.TagVO;

//import javax.xml.transform.Result;
import java.util.List;
import java.util.Map;

public interface TagService {

    Map<String, List<TagVO>> getTagsByType(int i);

    TagLibraryPO getTagById(Integer id);

    PageResult<TagLibraryVO> getAllTags(TagQuery query);

    boolean addTag(TagLibraryPO tagLibraryPO) throws BusinessException;

    boolean updateTag(TagLibraryPO tagLibraryPO);

    Result<Void> deleteTag(Integer id);

    List<TagLibraryPO> getTagsByParentId(Integer parentId);

    boolean updateTag(TagUpdateParam param) throws BusinessException;
}
